คำถามติดแท็ก sql

Structured Query Language (SQL) เป็นภาษาสำหรับการสืบค้นฐานข้อมูล คำถามควรมีตัวอย่างรหัสโครงสร้างตารางข้อมูลตัวอย่างและแท็กสำหรับการใช้งาน DBMS (เช่น MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 และอื่น ๆ ) หากคำถามของคุณเกี่ยวข้องกับ DBMS เฉพาะ (ใช้ส่วนขยาย / คุณลักษณะเฉพาะ) ให้ใช้แท็กของ DBMS นั้นแทน คำตอบของคำถามที่ติดแท็กด้วย SQL ควรใช้ SQL มาตรฐาน ISO / IEC

21
MySQL Query เพื่อเลือกข้อมูลจากสัปดาห์ที่แล้ว?
สวัสดีฉันมีตารางพร้อมฟิลด์วันที่และข้อมูลอื่น ๆ ฉันต้องการเลือกรายการทั้งหมดจากสัปดาห์ที่ผ่านมา (สัปดาห์เริ่มตั้งแต่วันอาทิตย์) ค่าตาราง: id date 2 2011-05-14 09:17:25 5 2011-05-16 09:17:25 6 2011-05-17 09:17:25 8 2011-05-20 09:17:25 15 2011-05-22 09:17:25 ฉันต้องการเลือกรหัสทั้งหมดจากสัปดาห์ที่แล้วผลลัพธ์ที่คาดหวังคือ 5, 6, 8 (รหัส 2 ไม่อยู่ในสัปดาห์ที่แล้วและรหัส 15 อยู่ในสัปดาห์ปัจจุบัน) วิธีการเขียนและแบบสอบถาม SQL สำหรับสิ่งเดียวกัน
98 mysql  sql  database  datetime 

5
SQLite INSERT - ในการอัปเดตคีย์ซ้ำ (UPSERT)
MySQL มีดังนี้: INSERT INTO visits (ip, hits) VALUES ('127.0.0.1', 1) ON DUPLICATE KEY UPDATE hits = hits + 1; เท่าที่ฉันรู้ว่าคุณสมบัตินี้ไม่มีอยู่ใน SQLite สิ่งที่ฉันอยากรู้คือมีวิธีใดบ้างที่จะได้เอฟเฟกต์เดียวกันโดยไม่ต้องดำเนินการสองแบบสอบถาม นอกจากนี้หากไม่สามารถทำได้คุณต้องการอะไร: SELECT + (INSERT หรือ UPDATE)หรือ UPDATE (+ INSERT หาก UPDATE ล้มเหลว )
98 sql  mysql  database  sqlite  upsert 

6
ฟังก์ชันการรวมในแบบสอบถามการอัปเดต SQL?
ฉันกำลังพยายามตั้งค่าในตารางหนึ่งเป็นผลรวมของค่าในตารางอื่น บางสิ่งตามบรรทัดเหล่านี้: UPDATE table1 SET field1 = SUM(table2.field2) FROM table1 INNER JOIN table2 ON table1.field3 = table2.field3 GROUP BY table1.field3 แน่นอนว่านี้ยืนก็จะไม่ทำงาน - SETไม่สนับสนุนและไม่สนับสนุน SUMGROUP BY ฉันควรจะรู้ แต่ใจของฉันมันว่างเปล่า ผมทำอะไรผิดหรือเปล่า?
98 sql  sql-server  tsql 

6
สร้างตัวเลขสุ่มโดยใช้ MYSQL
ฉันต้องการทราบว่ามีวิธีการเลือกหมายเลขที่สร้างขึ้นแบบสุ่มระหว่าง 100 ถึง 500 พร้อมกับแบบสอบถามแบบเลือก เช่น: SELECT name, address, random_number FROM users ฉันไม่ต้องเก็บหมายเลขนี้ไว้ในฐานข้อมูลและใช้เพื่อแสดงวัตถุประสงค์เท่านั้น ฉันลองทำแบบนี้แล้วแต่มันใช้งานไม่ได้ .. SELECT name, address, FLOOR(RAND() * 500) AS random_number FROM users หวังว่าจะมีคนช่วยฉันออกไป ขอบคุณ
98 mysql  sql 

8
MySQL“ ด้วย” ประโยค
ฉันกำลังพยายามใช้ MySQL เพื่อสร้างมุมมองที่มีอนุประโยค "ด้วย" WITH authorRating(aname, rating) AS SELECT aname, AVG(quantity) FROM book GROUP BY aname แต่ดูเหมือนว่า MySQL จะไม่รองรับสิ่งนี้ ฉันคิดว่านี่เป็นมาตรฐานที่ดีและฉันแน่ใจว่า Oracle รองรับสิ่งนี้ มีการบังคับให้ MySQL ใช้อนุประโยค "ด้วย" หรือไม่? ฉันได้ลองใช้กับโปรแกรม MyISAM และ innoDB แล้ว ทั้งสองอย่างนี้ไม่ได้ผล

10
postgresql - sql - จำนวนค่า "จริง"
myCol ------ true true true false false null ในตารางด้านบนถ้าฉันทำ: select count(*), count(myCol); ฉันเข้าใจ 6, 5 ฉันเข้าใจ5ว่ามันไม่นับรายการว่าง ฉันจะนับจำนวนค่าจริงได้อย่างไร (3 ในตัวอย่าง) (นี่เป็นการทำให้เข้าใจง่ายและฉันใช้นิพจน์ที่ซับซ้อนกว่านี้มากในฟังก์ชัน count) แก้ไขสรุป: ฉันต้องการรวมจำนวนธรรมดา (*) ในแบบสอบถามดังนั้นจึงไม่สามารถใช้คำสั่ง where ได้
98 sql  postgresql 

5
sqlalchemy: วิธีการเข้าร่วมหลายตารางโดยหนึ่งแบบสอบถาม?
ฉันมีคลาสที่แมป SQLAlchemy ต่อไปนี้: class User(Base): __tablename__ = 'users' email = Column(String, primary_key=True) name = Column(String) class Document(Base): __tablename__ = "documents" name = Column(String, primary_key=True) author = Column(String, ForeignKey("users.email")) class DocumentsPermissions(Base): __tablename__ = "documents_permissions" readAllowed = Column(Boolean) writeAllowed = Column(Boolean) document = Column(String, ForeignKey("documents.name")) ฉันต้องการโต๊ะแบบนี้สำหรับuser.email = "user@email.com": email | name | …
98 python  sql  join  sqlalchemy 


7
ความแตกต่างระหว่างการเข้าร่วม theta, Equijoin และการเข้าร่วมตามธรรมชาติ
ฉันมีปัญหาในการทำความเข้าใจเกี่ยวกับพีชคณิตเชิงสัมพันธ์เมื่อพูดถึงการรวมทีต้า, สมดุลและการรวมธรรมชาติ ใครช่วยกรุณาช่วยให้ฉันเข้าใจดีขึ้นได้ไหม ถ้าฉันใช้เครื่องหมาย = ในการเข้าร่วม theta จะเหมือนกับการใช้การเข้าร่วมแบบธรรมชาติหรือไม่?

7
ไม่สามารถใช้เพรดิเคต CONTAINS หรือ FREETEXT บนตารางหรือมุมมองที่จัดทำดัชนีได้เนื่องจากไม่ได้จัดทำดัชนีข้อความแบบเต็ม
ฉันได้รับข้อผิดพลาดต่อไปนี้ในฐานข้อมูล SQL Server 2008 R2 ของฉัน: ไม่สามารถใช้CONTAINSหรือFREETEXTกริยาบนโต๊ะหรือมุมมองที่จัดทำดัชนี 'tblArmy' เพราะมันไม่ได้ข้อความเต็มรูปแบบการจัดทำดัชนี

1
ลบ 1 วันจากวันที่ประทับเวลา
ฉันใช้ Datagrip สำหรับ Postgresql (ex: 2016-11-01 00:00:00)ฉันมีตารางที่มีข้อมูลวันที่ในรูปแบบเวลา ฉันต้องการที่จะสามารถ: ใช้ตัวดำเนินการทางคณิตศาสตร์เพื่อลบ 1 วัน กรองตามกรอบเวลาของวันนี้ -130 วัน แสดงโดยไม่มีส่วน hh / mm / ss ของตราประทับ (2016-10-31) แบบสอบถามเริ่มต้นปัจจุบัน: select org_id, count(accounts) as count, ((date_at) - 1) as dateat from sourcetable where date_at <= now() - 130 group by org_id, dateat ((date_at)-1)ประโยคในบรรทัด 1 ผลลัพธ์ใน: [42883] ข้อผิดพลาด: …

13
หลักการตั้งชื่อคีย์หลัก / คีย์ต่างประเทศ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ในกลุ่มนักพัฒนาของเรามีการถกเถียงกันอย่างดุเดือดเกี่ยวกับหลักการตั้งชื่อสำหรับคีย์หลักและคีย์ต่างประเทศ โดยพื้นฐานแล้วมีโรงเรียนความคิดสองแห่งในกลุ่มของเรา: 1: Primary Table (Employee) Primary Key is called ID Foreign table (Event) Foreign key is called EmployeeID หรือ 2: Primary Table (Employee) Primary Key is called EmployeeID Foreign table (Event) Foreign key is called EmployeeID ฉันไม่ต้องการให้ชื่อของตารางซ้ำกันในคอลัมน์ใด ๆ (ดังนั้นฉันชอบตัวเลือกที่ 1 …

4
วิธีค้นหาขนาดของอาร์เรย์ใน postgresql
มีวิธีใดในการค้นหาขนาดของอาร์เรย์หรือไม่? ตัวอย่างเช่น, CREATE TABLE example (id integer[]) ; INSERT INTO exam VALUES ( '{}'); INSERT INTO exam VALUES ( '{5,6,7}'); จากนี้มีความเป็นไปได้หรือไม่ที่จะได้ผลลัพธ์ดังต่อไปนี้ size 0 3
98 sql  arrays  postgresql  size 

7
ฉันต้องการคัดลอกตารางที่มีอยู่จากฐานข้อมูลหนึ่งและแทรกลงในตารางฐานข้อมูลอื่น
ฉันต้องการคัดลอกสคีมาของตารางรวมทั้งข้อมูลภายในตารางนั้นไปยังตารางฐานข้อมูลอื่นในฐานข้อมูลอื่นบนเซิร์ฟเวอร์ที่ใช้งานจริง ฉันจะทำสิ่งนี้ได้อย่างไร?
97 mysql  sql  mysqldump 

6
คำเตือน: ค่า Null ถูกกำจัดโดยการรวมหรือการดำเนินการ SET อื่น ๆ ใน Aqua Data Studio
ฉันมีปัญหาเมื่อข้อมูลเป็นโมฆะและคำเตือนปรากฏขึ้นเมื่อแสดงผล จะแก้ปัญหานี้อย่างไร?. จะเปลี่ยนข้อมูล null เป็น 0 ได้อย่างไรเมื่อไม่มีข้อมูลในตาราง?. นี่คือรหัสของฉัน: - SELECT DISTINCT c.username AS assigner_officer, d.description AS ticketcategory, (SELECT Count(closed) FROM ticket WHERE assigned_to = c.user_id AND closed IS NOT NULL GROUP BY assigned_to)closedcases, (SELECT Count(closed) FROM ticket WHERE assigned_to = c.user_id AND closed IS NULL GROUP BY assigned_to)opencases FROM ticket …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.