sql >> Databáze >  >> RDS >> Mysql

Pořadí MySQL podle primárního klíče

MySQL obecně vytahuje data podle pořadí vložení, což by bylo podle primárního klíče, ale kromě toho můžete technicky udělat totéž, pokud vytáhnete název sloupce primárního klíče a vložíte jej do pořadí podle

SELECT whatever FROM table
ORDER BY
(   SELECT `COLUMN_NAME`
    FROM `information_schema`.`COLUMNS`
    WHERE (`TABLE_SCHEMA` = 'dbName')
      AND (`TABLE_NAME` = 'tableName')
      AND (`COLUMN_KEY` = 'PRI')
);

Pro složené klávesy můžete použít toto

SELECT whatever FROM table
ORDER BY
(   SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')
    FROM `information_schema`.`COLUMNS`
    WHERE (`TABLE_SCHEMA` = 'dbName')
      AND (`TABLE_NAME` = 'tableName')
      AND (`COLUMN_KEY` = 'PRI')
);

Povolení pro přístup k informačnímu schématu z DOCSr silný>

NASTAVENÍ:

CREATE TABLE some_stuff (
    firstID INT,
    secondID INT,
    username varchar(55),
    PRIMARY KEY (firstID, secondID)
) ;

QUERY:

SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')
FROM `information_schema`.`COLUMNS`
WHERE (`TABLE_SCHEMA` = 'dbName')
  AND (`TABLE_NAME` = 'some_stuff')
  AND (`COLUMN_KEY` = 'PRI');

VÝSTUP:

+--------------------------------------------+
| GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ') |
+--------------------------------------------+
|              firstID, secondID             |
+--------------------------------------------+


  1. Jak klonovat prostředí R12.2

  2. Jak vypustit sloupec s omezením?

  3. Jak získat aktuální datum a čas v MySQL?

  4. proč to nevytahuje data ze 7 dnů zpět?