Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kolejność MySQL według klucza podstawowego

MySQL zazwyczaj pobiera dane według kolejności wstawiania, która byłaby według klucza podstawowego, ale poza tym technicznie możesz zrobić to samo, jeśli wyciągniesz nazwę kolumny klucza podstawowego i umieścisz ją w kolejności według

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')
);

W przypadku kluczy złożonych możesz użyć tego

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')
);

Zezwolenie na dostęp do schematu informacji z DOCS

USTAWIENIA:

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

ZAPYTANIE:

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

WYJŚCIE:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transpozycja wierszy do nagłówków w MYSQL

  2. Jquery datepicker z Ajaxem nie działa

  3. Ładowanie znaczników z pliku XML do Google Map API

  4. Łącznik MySql C++ getString() nie działa poprawnie, podczas gdy getInt działa idealnie

  5. SELECT zakres liczb całkowitych w MySQL. Np. 1,2,3,4,...,n;