2013-02-13 44 views
-6

我想從我的表中獲取的行數,其中X == 7關於MySQL和PHP

+----+----------+-------+---+ 
| id | username | email | X | 
+----+----------+-------+---+ 
| 1 |   |  | 7 | 
| 2 |   |  | 7 | 
| 3 |   |  | 7 | 
| 4 |   |  | | 
| 5 |   |  | | 
+----+----------+-------+---+ 

有3行,其中X == 7

如何才能得到這些數量行?

+1

SELECT COUNT (*)作爲從x = 7表中的總和這樣的事情! – 2013-02-13 12:05:00

回答

1

只需在SQ1查詢中使用常規count即可。

SELECT COUNT(*) FROM `yourTable` WHERE `X`=7; 
3
SELECT COUNT(id) FROM yourtable where x = 7; 

SQL Fiddle Demo

這會給你一個值:

| COUNT(ID) | 
------------- 
|   3 | 

如果你想這樣做,對於X的所有值,添加一個GROUP BY

SELECT x, COUNT(id) TheCount 
FROM yourtable 
GROUP BY x; 

Updated SQL Fiddle Demo

+0

count(*)和count(id)之間的區別是什麼? – 2013-02-13 12:07:31

+0

@Akam:'count(*)'也是NULL。檢查[**此**](http://dba.stackexchange.com/questions/2511/what-is-the-difference-between-select-count-and-select-countany-non-null-col)。 – 2013-02-13 12:15:07

+1

@Akam - 對於這個查詢,沒有,它們是相同的,但是如果有來自'id'的空值可能會有所不同。有關更多詳細信息,請參閱[**此帖子**](http://stackoverflow.com/questions/1221559/count-vs-count1)。 – 2013-02-13 12:16:23

0
SELECT count(id) FROM table_name WHERE x='7' 

但實際上,做一個谷歌搜索下一次^^

3
$sql = "SELECT count(*) FROM `table` WHERE X = 7"; 
$result = $con->prepare($sql); 
$result->execute(); 
$number_of_rows = $result->fetchColumn(); 

Count with PDO

作爲一個說明:

Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。看到red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

隨意使用該評論沒有屬性它創建的php聊天室不是我一個人 – 2013-02-13 12:18:50

+0

好的,謝謝@NullPointer。 – insertusernamehere 2013-02-13 12:22:41

1

如果列x是類型INT使用

SELECT COUNT(1) FROM tableName WHERE X=7 

如果列x是類型varchar使用

SELECT COUNT(1) FROM tableName WHERE X='7' 

我相信你有X列整數...