2017-06-14 26 views
-1

我已经在一个表中,这些数值称为广告:显示一审colums

id   sitecatid  locationid 
1    12   3 
2    12   6 
3    12   8 
4    12   8 
5    12   8 
6    10   18 
7    13   20 
8    14   21 

我想返回的结果是这样的:

sitecatid  locationid 
    12   3 
    10   6 
    13   8 
    14   18 
        20 
        21 

我基本上只想要使用唯一的sitecatid
和locationid的任何记录的第一个实例。 我想这个查询,但结果不正确:

SELECT DISTINCT sitecatid, locationid 
    FROM advertisements 
    WHERE MATCH (sitetitle,sitedescription) 
AGAINST ('$q' IN BOOLEAN MODE) AND status='approved' 
+0

不是我的downvote,但是这并没有真正看起来像一个关系数据库的问题给我。这是我希望在诸如C#或Java之类的应用程序语言中处理的东西。 –

+0

我的源代码是PHP和数据库是mysql而我的问题标签是php,mysql我的问题是什么问题? –

+0

你所要求的不是数据库通常对数据做什么,因为它不是关系数据。你可能需要动态SQL。 –

回答

1
select b.sitecatid,d.locationid from 
(SELECT @rownum := @rownum + 1 AS row_number, 
     a.sitecatid 
FROM (SELECT DISTINCT sitecatid 
     FROM tbl_test) a 
     , (SELECT @rownum := 0) r) as b 
right join 
(SELECT @rownum_2 := @rownum_2 + 1 AS row_number, 
     c.locationid 
FROM (SELECT DISTINCT locationid 
     FROM tbl_test) c 
     , (SELECT @rownum_2 := 0) s) as d 
on b.row_number = d.row_number