Mysql
 sql >> база данни >  >> RDS >> Mysql

Родител/Дете в същата таблица

Няма значение на първото дете в базата данни, можете да получите първото дете по минимума на id или минималната стойност, но стойностите не се съхраняват в определен ред в таблицата, така че не можете да разберете коя стойност е първата.

Но, ако приемем, че id е автоматична инкрементална колона, тогава стойността на първото дете е стойността на минималния id , тогава можете да направите това:

SELECT t1.parent, t2.name, t1.valueFROM tablename КАТО t1INNER JOIN( SELECT MIN(id) AS id, родител FROM tablename GROUP BY родител) КАТО t22 ON t22.id =t1.id И t1 .parent =t22.parentINNER JOIN име на таблица КАТО t2 ON t1.parent =t2.id; 

Вижте го в действие тук:

Това ще ви даде:

<предварителен код>| РОДИТЕЛ | ИМЕ | СТОЙНОСТ |------------------------| 1 | ааа | 111 || 3 | ccc | 333 |

Или: Можете да го получите с минималната стойност:

ИЗБЕРЕТЕ t1.parent, t2.name, MIN(t1.value) КАТО стойностFROM име на таблица КАТО t1INNER JOIN име на таблица КАТО t2 ON t1.parent =t2.idGROUP BY t1.parent, t2.name; 

Вижте го в действие:

Това ще ви даде:

<предварителен код>| РОДИТЕЛ | ИМЕ | СТОЙНОСТ |------------------------| 1 | ааа | 111 || 3 | ccc | 333 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. извличане на изображение от mysql php

  2. Урок за MySQL – Разбиране на секундите зад главната стойност

  3. Пагинация в PDO PHP

  4. Изясняване на реда за присъединяване за създаване на временни таблици

  5. MySQL не се намира никъде на компютъра