mysql/mariadb資料庫在查詢結果中再次查詢篩選的操作方法

2021-01-09 義縣遊學電子科技公司

大家好,這是由義縣遊學電子科技提供的關於編程開發和嵌入式方面的實用教程,其中有一些技術方案和一些處理問題的解決方法,希望可以為您提供參考依據.

今天是2020年4月9日,我跟大家分享一個二次操作mysql資料庫查詢結果的方法.我以

資料庫 mariadb為例進行說明.因為它有個heidiSQL圖形管理工具,比較好操作.

資料庫 mariadb為例進行說明.因為它有個heidiSQL圖形管理工具,比較好操作.

場景

場景是這樣:我需要查詢資料庫中今天的數據和前一天數據在某一時間段內的差值.於是我的思路是獲取今天全天的數據,然後在此數據集的基礎上篩選出在某個時間段的數據.於是就出現了今天的文章內容--如何在進行資料庫的查詢結果二次查詢.

具體操作如下:首先我們準備好一些數據.包含今天和昨天的一些數據.用於查詢用.

.包含今天和昨天的一些數據.用於查詢用

1.獲取今日的全部數據.使用mysql語句:

#查詢今天數據

SELECT * FROM shuju_table1 WHERE DATEDIFF(zhixingriqi,NOW())=0

查詢結果如下圖:查詢到一條.也就是今天2020.04.09日的數據

查詢到一條.也就是今天2020.04.09日的

那如果你要查詢昨天的數據呢?請使用下面的語句:

查昨天的數據,我們查到一條,也就是2020.04.08日的數據,如下圖

SELECT * FROM shuju_table1 WHERE DATEDIFF(zhixingriqi,NOW())=-1;

查昨天的數據,我們查到一條,

2.命令解釋

其中DATEDIFF(zhixingriqi,NOW())=0;這個DATEDIFF語句含義是zhixingriqi欄位每個值距離now()也就是現在的日期差值,如果等於0,就篩選出來,注意是日期差不是時間差.0就是代表當天,如果要是-1就代表是昨天的日期了.

3.篩選結果中再次篩選

下面2個語句是以今天和昨天的數據篩選為例進行說明的.其中zhixingriqi是時間日期欄位.

#select * FROM (SELECT * FROM shuju_table1 WHERE DATEDIFF(zhixingriqi,NOW())=0) tempwhere zhixingriqi>='2020-04-08 16:41:00' and zhixingriqi<='2020-04-08 16:50:00';#以今天的數據為查詢結果為集再次範圍查詢

#select * FROM (SELECT * FROM shuju_table1 WHERE DATEDIFF(zhixingriqi,NOW())=-1) tempwhere zhixingriqi>='2020-04-07 16:41:00' and zhixingriqi<='2020-04-07 16:50:00';#查詢昨天的數據中在指定範圍的數據

其實,這2個語句就是select和第一點中的語句的結合.其中黑色加重字體是我們上一個第一點中的查詢語句.這裡的temp是關鍵字,意思是建立一個臨時存在的表,用於存放我們查詢出來的今天或者昨天的全部數據.然後我們在此臨時表的基礎上再次進行select查詢.就是我們想要的結果了.

在此臨時表的基礎上再次進行select

相關焦點

  • Mysql(Mariadb)資料庫主從複製
    Mysql主從複製的實現原理圖大致如下:MySQL之間數據複製的基礎是以二進位日誌文件(binary log file)來實現的,一臺MySQL資料庫一旦啟用二進位日誌後,其作為master,它資料庫中所有操作都會以「事件」的方式記錄在二進位日誌中,其他資料庫作為slave通過一個I/O線程與主伺服器保持通信,並監控master的二進位日誌文件的變化,如果發現
  • python3.8操作(插入,刪除)mysql/MariaDB資料庫
    01主題大家好,我是義縣遊學電子科技.今天來跟大家說一個工作中常用到的操作,python3.8操作MariaDB資料庫.因為MariaDB屬於mysql分支因此資料庫命令語句都是通用的非常方便.= mysql.connector.connect(host="localhost", # 資料庫主機地址user="root", # 資料庫用戶名passwd="root", # 資料庫密碼database="test1" #資料庫名)mycursor = mydb.cursor()a=0while True:time.sleep(1)try:# 查詢資料庫的表格table1mycursor.execute
  • Windows安裝MariaDB-10.5.5資料庫
    在之前其實也用過很多資料庫,但是都是收費的,比如MSSQL、Oracle、DB2、GBase等,反正接觸得比較多,但是現在自己要做一些東西的時候,就像用免費的,這不,就盯上MariaDB和PostgreSQL了。我們先來看看今年常用資料庫的一個排行吧可以看到,MySQL還是佔領著重要的位置,那麼我為什麼還是要用MariaDB呢?
  • 一條查詢SQL在MySQL中是怎麼執行的
    一般連接命令是這樣寫的:mysql -h$ip -P$port -u$user -p輸入命令之後,就需要在交互對話中輸入密碼,密碼也可以直接寫在-p後面,但是這種操作一般是開發過程中,連接生產伺服器不建議這樣做,因為可能會導緻密碼洩露。
  • mysql 版本號解釋_mysql workbench查詢mysql版本號 - CSDN
    order by當我們使用order by將查詢結果按照某個欄位排序時,如果該欄位沒有建立索引,那麼執行計劃會將查詢出的所有數據使用外部排序(將數據從硬碟分批讀取到內存使用內部排序,最後合併排序結果),這個操作是很影響性能的,因為需要將查詢涉及到的所有數據從磁碟中讀到內存(如果單條數據過大或者數據量過多都會降低效率),更無論讀到內存之後的排序了
  • 多表組合查詢——Python操作Mysql資料庫
    前面我們介紹了單張表的查詢,包括模糊查詢、分組、排序、各種篩選條件等等操作,在實際應用中,查詢的數據往往不止局限在一張表裡,通常需要多張表在一起進行組合查詢,今天我們將會對Mysql當中的多張有關聯的表進行組合查詢,本節內容涉及到的幾個關鍵點有:等值和非等值連接查詢;
  • Centos7.9安裝Mariadb資料庫
    簡單快捷,安裝mariadb-server,默認依賴安裝mariadb,一個是服務端、一個是客戶端。systemctl start mariadb # 開啟服務[root@localhost ~]# systemctl enable mariadb # 設置為開機自啟動服務 2、首次安裝需要進行資料庫的配置,命令都和mysql的一樣 [root@localhost ~]# mysql_secure_installation
  • Python連接MySQL資料庫方法介紹(超詳細!手把手項目案例操作)
    執行結果如下:('a', '趙大', '16')('b', '錢二', '16')mysql.connectormysql-connector-python:是MySQL官方的純Python驅動;mysql.connector
  • mysql查詢——統計每日新用戶數量
    下圖是一張網站用戶活動表(User_Activities),表中包含欄位UserId(用戶編號)、Activity(用戶活動,可取值login、orders、logout)、Date(活動日期),現需要編寫一個查詢語句,統計網站每日的新用戶數量,即統計每日登錄用戶中首次登錄網站的用戶數
  • 基於MySQL資料庫應用開發實現嵌入式數控系統的設計
    GTK+沒有直接操作資料庫的控制項,對資料庫的操作可以採取通過MySQL C API 直接進行,再調用GTK+ 的顯示功能的方法來完成與用戶的交互。 2 資料庫實現 2.1 資料庫的建立 2.1.1創建work資料庫 首先創建一個名稱為work的資料庫,並包含系統需要的所有表,作為根用戶連接到MySQL。
  • mysql查詢前一周的數據_mysql查詢當天的數據 - CSDN
    mysql 昨天 一周前 一月前 一年前的數據 這裡主要用到了DATE_SUB,參考如下代碼如下:SELECT * FROM
  • Qt5如何備份mariaDB資料庫
    資料庫對比Mariadb是mysql的分支,所以說qt如何使用mysql,那麼就如何使用mariadb了。以前備份資料庫都是用資料庫管理軟體。那該如何在應用軟體中備份資料庫呢?這裡我是用資料庫自帶的命令:mysqldump.
  • CentOS 7 安裝 MariaDB及基礎配置
    CentOS 7 安裝 MariaDB一、使用yum命令直接安裝[root@localhost ~]# yum install mariadb-server二、開啟服務[root@localhost ~]# systemctl start mariadb三、設置為開機自啟動服務[root@localhost
  • 如何在ubuntu20.04安裝MySQL並修改資料庫密碼
    sudo apt install mysql-client-core-83、再次輸入mysql命令,提示不能連接上mysql server,由提示可知mysql服務端沒有安裝;輸入命令sudo apt-get
  • mysql,mariadb 啟動出現 Can't Create Test File錯誤
    樹莓派系統安裝mariadb通過sudo apt install 安裝後,服務正常啟動,但默認的數據目錄是 /var/lib/mysql,所以修改數據目錄和日誌目錄,方便維護。新的數據目錄:/home/mysql/data,新日誌目錄 /home/mysql/log啟動服務時出現警告提示:[Warning] Can't create test file /home/mysql/data/club-wilspark-rb.lower-test一番搜索,在Mariadb官方網站發現了解決方案:解釋一下:
  • 一千行MySQL學習筆記
    having 對篩選出的結果再次進行過濾。    having 欄位必須是查詢出來的,where 欄位必須是數據表存在的。    where 不可以使用欄位的別名,having 可以。因為執行WHERE代碼時,可能尚未確定列值。    where 不可以使用合計函數。
  • 直擊資料庫面試題:資料庫查詢語句
    SQL查詢的題目,查詢A(ID,Name)表中第31至40條記錄,ID作為主鍵可能是不是連續增長的列,完整的查詢語句如下: 方法一: select top 10 * from A where ID >(select max(ID) from (select
  • MySQL字符串截取 和 截取字符進行查詢
    通過mysql自帶的一些字符串截取函數,對數據進行處理,下面是我整理的字符串截取 和 截取字符進行查詢。一、MySQL中字符串的截取MySQL中有專門的字符串截取函數:其中常用的有兩種:substring_index(str,delim,count) 和concat 1.substring_index(str,delim,count) 函數的使用較為普遍。
  • MySQL 數據校驗工具-愛可生|mysql|perl|伺服器|node01_網易訂閱
    個表,不需要太多的內存和多餘的操作;必要時,pt-table-checksum 會根據伺服器負載動態改變 chunk 大小,減少從庫的延遲。  為了減少對資料庫的幹預,pt-table-checksum 還會?動偵測並連接到從庫,當然如果失敗,可以指定 --recursion-method 選項來告訴從庫在哪裡。
  • 圖資料庫和關係型資料庫的比較
    關係型資料庫中的圖數據在關係資料庫中,通常有兩個用於存儲社交關係的表格:一個表格保存用戶信息,另一個用於保存用戶的朋友關係用戶表和用戶朋友關係表以下為使用mysql資料庫創建表的SQL腳本這種操作這會給你的關係資料庫引擎帶來巨大壓力。為了說明此類查詢的性能,這裡針對1,000個用戶的小數據集,運行了幾次friends-of-friends查詢,但每次增加搜索的深度,並記錄結果。