2015-11-05 77 views
3

我有一個表如下。我想運行一個查詢中使用php選擇,其中,如果date column則重複我想利用這個日期如何獲得最後一行的重複列在php mysql

id  Date   start end publish 
1 04-Nov-2015  1000 1300 0 
4 04-Nov-2015  2100 3500 0 
5 05-Nov-2015  1500 3000 0 

像下表中只有最後一行從表中的數據,當我運行查詢那麼結果應該來:

4 04-Nov-2015  2100 3500 0 
5 05-Nov-2015  1500 3000 0 

當我運行查詢

$select = mysql_query("select * from `entry` Group by `date`") or die(mysql_error()); 

話,就說明重複表格的第一行,我應該在T修改他查詢的結果應該顯示重複科拉姆

+0

你什麼意思,最後一排?它是哪一行,並基於什麼條件? – GolezTrol

+1

如果id是auto_increment,您可以使用Select * from(選擇* from date order by date,id desc)x group by x.date –

+0

謝謝@Undefined_variable它的工作 –

回答

2
Select * from (Select * from entry order by date,id desc) x group by x.date 
0

的最後一行試試這個查詢: - :

$select = mysql_query("select * from `entry` Group by `date`" ORDER BY id DESC LIMIT 1) or die(mysql_error()); 
+0

它也給第一行 –

+0

select * from( select * from'entry' order by id DESC )new group by'date' –

+0

試試這個查詢@ RohitashvSinghal –

0

你可以用這個辦法做到這一點米不知道以下將工作完全一樣,因爲我現在不能測試,但爲獲得結果你必須使用內部查詢。內部查詢幫助我在我的情況下獲得預期的結果。

SELECT * 
FROM entry p 
WHERE id = 
    (SELECT max(id) FROM entry p2 
    WHERE p2.id = p.id) 
GROUP BY p.date 
ORDER BY p.id DESC; 
+0

結果沒有變化 –

0

嘗試內部查詢,我

select * from(select * from entry order by id DESC) new Group by date 
0

此查詢會爲你工作:

create TABLE test (id INT PRIMARY KEY, tdate DATE, start INT); 

SELECT t1.* FROM test as t1 
LEFT JOIN test as t2 
    ON (t1.tdate = t2.tdate AND t1.id < t2.id) 
WHERE t2.id IS NULL; 
相關問題