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

Как да извлечем уникални редове въз основа на комбинации от стойности на колони?

РЕДАКТИРАНЕ:Отговорът е променен за актуализиран въпрос

ЗАБЕЛЕЖКА:заявката не е тествана

SELECT GROUP_CONCAT(lot ORDER BY lot ASC SEPARATOR ',') 
from mytable 
having count(*) = 2 
  and GROUP_CONCAT(tag ORDER BY tag ASC SEPARATOR ' ') = '101 102' 
group by product

стар отговор

можете да използвате group by, за да постигнете това.

select tag, product from mytable where tag in (101,102) group by tag, product 

това може също да е възможно с помощта на different, но трябва да го разгледате. не мога да си спомня дали е възможно различие в няколко колони. Мисля, че и това ще свърши работа...

select distinct tag, product from mytable where tag in (101,102)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете дата от моята база данни без секунди, като използвате PHP MySql

  2. Използване на Oracle JDeveloper с MySQL Database Service на Oracle Cloud Platform, част 1

  3. как да рандомизирам извличането на въпрос от базата данни?

  4. Код за грешка в MySQL:1175 по време на АКТУАЛИЗИРАНЕ (MySQL-Workbench срещу конзола)

  5. localhost срещу 127.0.0.1 в mysql_connect()