2013-10-02 30 views
2

mysql數據庫的最高值,這是MySQL表如何顯示在php

--------------------------------------------- 
id | date  | name  | amount 
--------------------------------------------- 
1 | 2013-01-31 | abcd  | 200.000 
2 | 2013-02-28 | apple | 95.000 
3 | 2013-03-31 | bannna | 30.000 
4 | 2013-04-30 | computer | 5.000 
5 | 2013-05-31 | mobile | 500.000 
6 | 2013-06-30 | mouse | 2.000 
7 | 2013-07-31 | led tv | 25000.000 
--------------------------------------------- 

如何找到這個表格

我想造成這樣的PHP頁面 量最高值1的最高值量

Date  | Name | Amount 
2013-07-31 | LED TV | 25000.000 
2013-05-31 | Mobile | 500.000 
2013-01-31 | Abcd | 200.000 
2013-02-28 | Apple | 95.000 

我怎麼能做到這一點請大家幫我解決這個問題 感謝

我使用此代碼,但它沒有顯示我的結果類型。

<?php 
$username = "root"; 
$password = ""; 
$hostname = "localhost"; 

//connection to the database 
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 

//select a database to work with 
$selected = mysql_select_db("car",$dbhandle) 
    or die("Could not select examples"); 



//execute the SQL query and return records 
$result = mysql_query("SELECT MAX(amount) AS amount FROM table5"); 

//fetch tha data from the database 
while ($row = mysql_fetch_array($result)) { 
    echo "Date:".$row{'date'}." Name:".$row{'name'}."Amount: ". //display the results 
    $row{'amount'}."<br>"; 
} 
//close the connection 
mysql_close($dbhandle); 
?> 
+0

是一個int或varchar的數量? – zzlalani

+0

你可以根據你的需要改變你的查詢SELECT MAX(amount)AS amount FROM table5 order by amount desc或asc。 – SeeSharp

+0

amount is varchar – user2468472

回答

4

由於您的屬性amount是你需要的屬性鑄成int第一

SELECT * FROM table5 ORDER BY CAST(amount as SIGNED INTEGER) DESC 

如果你只是下面的查詢

SELECT * FROM table5 ORDER BY amount DESC 
運行 varchar(串)字段

它將列排序爲一個字符串,結果將是

--------------------------------------------- 
id | date  | name  | amount 
--------------------------------------------- 
2 | 2013-02-28 | apple | 95.000 
4 | 2013-04-30 | computer | 5.000 
5 | 2013-05-31 | mobile | 500.000 
3 | 2013-03-31 | bannna | 30.000 
6 | 2013-06-30 | mouse | 2.000 
1 | 2013-01-31 | abcd  | 200.000 
7 | 2013-07-31 | led tv | 25000.000 
--------------------------------------------- 
+1

zzlalani烏爾代碼工作正常,謝謝你親愛的 – user2468472

+1

我的榮幸.. :) – zzlalani

+1

感謝您的理解 – user2468472

2

您的查詢現在,是

SELECT MAX(amount) AS amount FROM table5 

這意味着查詢:給我表5的一個最大值

Instaed,這應該是

SELECT * FROM table5 ORDER BY amount DESC 

這意味着查詢:給我所有值,下令從最高到最低。

UPDATE: 上面的查詢會爲numeric列,不varchars工作,因爲OP顯然是想。

+0

實際上,他的查詢應該包含所有其他列他想按照他的代碼顯示:) – Fluffeh

+0

根據Fluffeh的觀察更新。 – mavrosxristoforos

+0

不是你的答案顯示正常的數據 – user2468472

1
SELECT * FROM table5 ORDER BY amount DESC 
1

使用此查詢:

SELECT `date`, `name`, `amount` from `table` order by `amount` desc LIMIT 4 

由於您的查詢只顯示中最大的一個(只有一個記錄)

SELECT MAX(amount) AS amount FROM table5 
1

MAX顯示在列的最高紀錄。它應該是這樣的

SELECT * FROM your_table_name ORDER BY amount DESC 
3

你下面的查詢返回從'table5'量字段僅最大值,

SELECT MAX(amount) AS amount FROM table5 

但是你的需求是不同的,那麼它,而不是它,你應該寫查詢一樣,

SELECT * FROM table5 ORDER BY amount DESC 

上面的查詢將返回table5中的總行數,按照從最高到最低的順序排列,這就是您要查找的內容。