簡體   English   中英

使用PHP和Mysql在分組中從表中獲取值的SQL查詢

[英]Sql query to fetch value from table in grouping using PHP and Mysql

我需要一個幫助。 我需要sql查詢從表中獲取值並將其分組,如果表中存在重復值。我正在解釋下面的表。

db_basic:

id     name_id     name       date1              date2

1        60        aaa        2016-10-22       2016-10-26

2        60        aaa                                       

3        62        ccc                                   

這里有些行有date1 and date2列空白。我有這樣的輸入$date=2016-10-22 。我需要使用條件獲取name_id and name$date=2016-10-22位於date1 and date2之間date1 and date2 這里我的條件也是如果任何name_id行有date1 and date2列有一些值將通過比較輸入日期( $date=2016-10-22 )獲取。如果任何行沒有date1 and date2列的值,那些應該獲取沒有與任何輸入進行比較。 我在下面解釋我的查詢。

$sql="select * from db_basic where date1 <='".$date."' and date2 >= '".$date."' and date1 !='' and date2 !='' group by name_id";

但是使用這個查詢我無法從表中獲取最后一行值。我的條件是如果date1 and date2有值,它將比較其他方面它將從數據庫中獲取數據而不進行比較。 請幫我。

$sql="SELECT * FROM `db_basic` WHERE `date1` <='$date' AND `date2` >= '$date' AND `date1` IS NOT NULL AND `date2` IS NOT NULL GROUP by `name_id`;";

只需使用UNION ALL

$sql="select * from db_basic where date1 <='".$date."' and date2 >= '".$date."' and date1 !='' and date2 !='' group by name_id union all select * from db_basic where date1 ='' and date2 ='' group by name_id ";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM