sql >> データベース >  >> RDS >> Mysql

同じテーブルの親/子

    データベースの最初の子の意味はありません。idの最小値で最初の子を取得できます。 または値の最小値ですが、値はテーブルに特定の順序で格納されていないため、どの値が最初の値であるかがわかりません。

    ただし、id は自動増分列であり、最初の子の値は最小のidの値です。 、次にこれを行うことができます:

    SELECT
      t1.parent,
      t2.name,
      t1.value
    FROM tablename AS t1
    INNER JOIN
    (
      SELECT MIN(id) AS id, parent
      FROM tablename
      GROUP BY parent
    ) AS t22 ON t22.id = t1.id AND t1.parent = t22.parent
    INNER JOIN tablename AS t2 ON t1.parent = t2.id;
    

    ここで実際の動作を確認してください:

    これはあなたに与えるでしょう:

    | PARENT | NAME | VALUE |
    -------------------------
    |      1 |  aaa |   111 |
    |      3 |  ccc |   333 |
    

    または: 最小値で取得できます:

    SELECT
      t1.parent,
      t2.name,
      MIN(t1.value) AS value
    FROM tablename AS t1
    INNER JOIN tablename AS t2 ON t1.parent = t2.id
    GROUP BY t1.parent, t2.name;
    

    実際の動作をご覧ください:

    これにより、次のことが可能になります:

    | PARENT | NAME | VALUE |
    -------------------------
    |      1 |  aaa |   111 |
    |      3 |  ccc |   333 |
    



    1. PHPでMySQLとデータベースのエラーをキャッチする方法はありますか?

    2. SQLServerクエリでNULLを0に置き換える

    3. 春のテストで@Testメソッドの前に一度だけデータベースにデータを入力する方法は?

    4. オラクルの「yy」と「rr」の日付マスクの違いは何ですか?