Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Urutan MySQL dengan kunci utama

MySQL umumnya menarik data keluar dengan urutan penyisipan yang akan dengan kunci utama, tetapi selain itu Anda secara teknis dapat melakukan hal yang sama jika Anda mengeluarkan nama kolom kunci utama dan mengurutkannya dengan

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

Untuk kunci komposit, Anda dapat menggunakan ini

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

Izin untuk akses skema informasi dari DOCS

PENYIAPAN:

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

OUTPUT:

+--------------------------------------------+
| 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. Tampilkan host MySQL melalui Perintah SQL

  2. Jika saya menggunakan operator IN untuk memfilter nilai NULL dan spasi putih Tidak berfungsi Mengapa?

  3. Mendapatkan data dari beberapa tabel menjadi satu baris sambil menggabungkan beberapa nilai

  4. Menggunakan ekspresi boolean dalam urutan dengan klausa

  5. Bagaimana cara memperbaiki string UTF-8 yang disandikan ganda yang ada di bidang MySQL utf8_general_ci?