programing

Maria에서 고유한 값을 가진 쿼리를 제한하려면 어떻게 합니까?DB

yellowcard 2023. 8. 23. 21:42
반응형

Maria에서 고유한 값을 가진 쿼리를 제한하려면 어떻게 합니까?DB

다음과 같은 테이블이 있습니다.

ID 번호 일부 텍스트--------------------1     1        ""2     1        ""3     2        ""4     2        ""5     2        ""6     2        ""7     3        ""

제가 원하는 것은 처음 10개의 고유한 숫자를 선택하는 쿼리입니다. 그래서 만약 제가 두 개의 첫 번째 숫자를 얻고 싶다면, 저는 처음 6개의 행을 얻을 것입니다.마리아DB를 사용하고 있습니다.

다음 방법을 사용해 보십시오.

select *
from Table1 as T1
join (
  select distinct num
  from Table1 
  order by num
  limit 2 ) as T2
on T1.num = T2.num  
  ;

여기서 혼란스럽게: http://sqlfiddle.com/ #!9/1468ad/5

MySQL에서는 LIMIT를 사용할 수 있습니다.주의할 점은 LIMIT가 에서 직접 지원되지 않는다는 것입니다.IN하위 쿼리이므로 IN 하위 쿼리 내에 하위 쿼리를 사용해야 합니다.

SQL 피들

MySQL 5.6 스키마 설정:

CREATE TABLE Table1
    (`Id` int, `Num` int, `Some text` varchar(2))
;

INSERT INTO Table1
    (`Id`, `Num`, `Some text`)
VALUES
    (1, 1, '""'),
    (2, 1, '""'),
    (3, 2, '""'),
    (4, 2, '""'),
    (5, 2, '""'),
    (6, 2, '""'),
    (7, 3, '""')
;

쿼리 1:

select * from Table1
where Num in (select Num FROM(select distinct Num from Table1 order by Num limit 2)a)

결과:

| Id | Num | Some text |
|----|-----|-----------|
|  1 |   1 |        "" |
|  2 |   1 |        "" |
|  3 |   2 |        "" |
|  4 |   2 |        "" |
|  5 |   2 |        "" |
|  6 |   2 |        "" |

언급URL : https://stackoverflow.com/questions/34645499/how-do-i-limit-a-query-with-distinct-values-in-mariadb

반응형