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

Kueri dua db menggunakan grup oleh dan tampilkan informasi detail

GABUNG dengan mereka:

SELECT r.product_id, i.brand, i.name, i.category, DATE_FORMAT( r.inputTime, '%e-%b' ) AS inputTime, r.shopType, r.price AS minimum_price, r.record_id
FROM (  SELECT *
        FROM itemRecord
        WHERE product_id = '1'
        ORDER BY price ASC, inputTime DESC) AS r
INNER JOIN itemInfo As i
ON r.product_id = i.product_id
WHERE i.id = r.product_id
GROUP BY DATE(r.inputTime)
LIMIT 0, 7

Penjelasan:

Saya melakukan kueri dalam yang membuat urutan tabel dengan price ASC alih-alih default, katakanlah id ASC . Saat Anda GROUP BY baris, ini menggunakan kolom dari baris pertama secara default, yang dalam hal ini adalah yang memiliki harga terendah.

Solusi Anda tidak berfungsi karena mungkin juga telah memilih id pertama dan bukan baris harga terendah. Satu-satunya kolom yang benar adalah MIN( r.price ), tetapi seperti yang Anda perhatikan bahwa fungsi tersebut tidak memengaruhi kolom lain dalam hasil.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membuat Stempel Waktu PHP/MySQL terlihat lebih menarik

  2. MySQL - SELECT WHERE field IN (subquery) - Mengapa sangat lambat?

  3. Daftar Kupon dengan detail pesanan di WooCommerce

  4. Menentukan secara efisien apakah bisnis buka atau tidak berdasarkan jam buka toko

  5. Bagaimana cara menggunakan nama variabel dalam pernyataan SQL?