select HOUR(time) as hh, count(*) as cnt from tbl_name group by hh
柘榮網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
select count(*) from table_name where time startime and time endtime
結(jié)合起來(lái),限定一天的時(shí)間內(nèi)。
select HOUR(time) as hh, count(*) as cnt from tbl_name WHERE time startime and time endtime group by hh
使用MYSQL函數(shù) substring 與 group by 實(shí)現(xiàn), 此為正解。
做一些數(shù)據(jù)庫(kù)查詢,不僅希望得到要查詢的結(jié)果,還希望方便地計(jì)算一下查詢結(jié)果中有多少條記錄。我通常的做法是:
$q = "select * from $fromTable where $where limit $start,$pageSize";
$r = mysql_query($q);
$q = "select count(*) from $fromTable where $where";
$cnt = mysql_query($q);
當(dāng) 然可以用mysql_num_rows()或者mysql_affected_rows()來(lái)在第一次查詢后得到記錄數(shù)目,但是這兩個(gè)函數(shù)返回的都是查詢 后得到的結(jié)果的數(shù)目,是受limit語(yǔ)句的影響的。很多情況下,需要知道這條查詢語(yǔ)句在沒(méi)有l(wèi)imit的情況下結(jié)果總數(shù),比如分頁(yè)查詢。
mysql 中本身支持一種更好的方法來(lái)達(dá)到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函數(shù)。
首先明確概念:
環(huán)比增長(zhǎng)率=(本期數(shù)-上期數(shù))/上期數(shù)*100% 反映本期比上期增長(zhǎng)了多少。
同比增長(zhǎng)率=(本期數(shù)-同期數(shù))/同期數(shù)*100% 指和去年同期相比較的增長(zhǎng)率。
建表時(shí)把增長(zhǎng)率設(shè)為2即可,如
CREATE TABLE jobs
(
job_id smallint
IDENTITY(1,1)
--第一個(gè)1中種子,就是從1開(kāi)始,第二個(gè)1是增長(zhǎng)率,就每次增長(zhǎng)2
PRIMARY KEY CLUSTERED,
job_desc varchar(50) NOT NULL
DEFAULT 'New Position - title not formalized yet',
min_lvl tinyint NOT NULL
CHECK (min_lvl = 10),
max_lvl tinyint NOT NULL
CHECK (max_lvl = 250)
)