請問各位先進大大
我有一個解了一整天,還是解不出來!!!請求各位大大相救一下…
我在取資料裡的薪資最大值最小值,輸出時,要把其它欄位也輸出來!
test表格
ID | USER | MONEY |
---|---|---|
1 | AAA | 100 |
2 | BBB | 200 |
3 | CCC | 300 |
4 | DDD | 400 |
我想要輸出的結果是:
最大值: ID 4 USER DDD MONEY 400
最小值: ID 1 USER AAA MONEY 100
$sql = "SELECT
MAX(money
),MIN(money
) FROM works
;";`
我原本只下這樣,但是只能出現
最大值: 400
最小值: 100
請求幫忙解答了,拜託!!!拜託!!!
SELECT *
FROM TEST
WHERE money=(SELECT MAX(money) FROM TEST)
OR
money= (SELECT MIN(money) FROM TEST)
在 ms-sql 下試過: ok
資料可能會有多筆(大於2筆) :因為max(money) 或 min(money) 的資料可能不止一筆
非常感謝大大,一試就行!!!
但是我在echo出資料時,怎麼分成兩個呢???
我想要輸出的結果是:
最高薪資: ID 4 USER DDD MONEY 400
最低薪資: ID 1 USER AAA MONEY 100
但是我下這樣,結果亂亂的感覺!!!
echo "姓名:$row[0]","工號:$row[1],". "薪資:$row[2]";
姓名:DDD ,id:4, 薪資:400 姓名:AAA, ID:1 ,薪資:100
不懂:"結果亂亂"的是指什麼?
希望的顯示方式是:只要一列嗎?
如果是這樣:要參考關於SQL的一些語法問題
有有有,我解出來了!!!~~~
echo:第<?php echo($key + 1); ?>筆資料,員工姓名:<?php echo $row['name']; ?>,員工工號:<?php echo $row['number']; ?>,員工薪資:<?php echo $row['money']; ?>
感謝大大幫忙!!!
大大,我可以再請教一個問題嗎,因為我欄位裡,有保留離職人員的資料state=1,我在輸出資料時,可否排除state不是0的資料…
ID USER MONEY state
1 AAA 100 0
2 BBB 200 0
3 CCC 300 0
4 DDD 400 1
SELECT
name,
number,
money,
stateFROM
worksWHERE state='0' and money=(SELECT MAX(money) FROM
works) OR money= (SELECT MIN(money) FROM
works)
我用很多種方式,出來的結果都會帶出
最大值 ID:4 USER:DDD MONEY:400 STATE:1
最小值 ID:1 USER:AAA MONEY:100 STATE:0
正確應該為~~~
最大值 ID:3 USER:CCC MONEY:300 STATE:0
最小值 ID:1 USER:AAA MONEY:100 STATE:0
STATE 下錯地方.
SELECT name,number,money,state FROM works WHERE money=(SELECT MAX(money) FROM works WHERE state='0' ) OR money= (SELECT MIN(money) FROM works WHERE state='0')
因為要找的是 STATE='0' 的最大值及最小值.
所以 STATE ='0' 必須要放在 (SELECT MAX(MONEY) FROM WORKS ) 中
大大真的是太利害了我STATE='0' 放前面放後面都出不來…原來是要包在 (SELECT MAX(MONEY) FROM WORKS ) 中…~
感激萬分了啊