Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > สอบถามวิธีการเอาตัวเลขของ 2 คอลัมน์มาลบกัน แล้วเอาผลลัพธ์ที่ได้มาจัดกลุ่มครับ



 

สอบถามวิธีการเอาตัวเลขของ 2 คอลัมน์มาลบกัน แล้วเอาผลลัพธ์ที่ได้มาจัดกลุ่มครับ

 



Topic : 105288



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์




test

ตารางด้านบนคือฐานข้อมูล ตารางด้านล่างคือรูปแบบผลลัพธ์ที่ต้องการนะครับ

ต้องการเอา finish - start แล้วนับจำนวนที่ได้ แยกผลลัพธ์ตาม group จะเขียนโค้ด sql ยังไงครับ(มือใหม่)



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-01-31 14:37:41 By : giverplus View : 2462 Reply : 8
 

 

No. 1



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ผมมั่วๆเอาน่ะครับ ... ผิดแน่ๆ แต่ได้ไอเดีย

Code (SQL)
select group,count(select * from tb a where (finish-start) between 0 and 100 ) as less100, count(select * from tb where (finish-start) between 101 and 200) as less200
from tb group by group


ผมว่าต้องใช้ 2 ลูปวนเอาครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:46:51 By : sakuraei
 


 

No. 2



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ต้องใช้ ` ` ครอบ group ด้วยครับ เพราะมันเป็น reserved word
select `group`, ......
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:50:39 By : sakuraei
 

 

No. 3



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์


ฐานข้อมูลครับ เปลี่ยน group เป็น team
test1

รูป error รันจาก phpmyadmin
test3

Code (SQL) ที่ใช้ครับ
select team,count(select * from tb_job where (finish-start) between 0 and 100 ) as less100, count(select * from tb_job where (finish-start) between 101 and 200) as less200
from tb_job group by team

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 15:42:05 By : giverplus
 


 

No. 4



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


export ข้อมูล ออกมาซิครับ(SQL) จะได้ทดลองโค้ดได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 17:40:52 By : sakuraei
 


 

No. 5



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์


ตามนี้เลย ขอบคุณครับ
ฐานข้อมูลจริงมีเงื่อนไขเยอะกว่านี้ แต่ผมตัดออกก่อนเพื่อลองเอาแนวคิดไปต่อยอดเองอีกที ถ้าไม่ได้ก็จะกลับมาถามใหม่ครับ

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Jan 31, 2014 at 05:45 PM
-- Server version: 5.0.51
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- Database: `test`
-- 

-- --------------------------------------------------------

-- 
-- Table structure for table `tb_job`
-- 

CREATE TABLE `tb_job` (
  `id` int(11) NOT NULL auto_increment,
  `section` varchar(2) NOT NULL,
  `team` varchar(1) NOT NULL,
  `start` varchar(4) NOT NULL,
  `finish` varchar(4) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

-- 
-- Dumping data for table `tb_job`
-- 

INSERT INTO `tb_job` VALUES (1, '1', 'A', '1200', '1300');
INSERT INTO `tb_job` VALUES (2, '2', 'A', '1100', '1500');
INSERT INTO `tb_job` VALUES (3, '3', 'A', '1300', '1500');
INSERT INTO `tb_job` VALUES (4, '4', 'B', '1000', '1800');
INSERT INTO `tb_job` VALUES (5, '5', 'B', '1100', '1400');
INSERT INTO `tb_job` VALUES (6, '6', 'B', '1500', '1800');
INSERT INTO `tb_job` VALUES (7, '7', 'C', '1400', '1500');
INSERT INTO `tb_job` VALUES (8, '8', 'C', '1200', '1600');
INSERT INTO `tb_job` VALUES (9, '9', 'C', '1300', '1800');


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 17:51:41 By : giverplus
 


 

No. 6



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ผลลัพธ์ได้แบบนี้เหรอเปล่าครับ

T less100 less200 less300 more300
A 2 1 0 1
B 2 0 2 1
C 2 0 0 2


ถ้าใช่ล่ะก็ ข้างล่างนี่เป็รคำสั่งครับ

Code (SQL)
select team as t,  (select count(*) from tb_job where (finish-start) between 0 and 100 ) as less100, (select count(*) from tb_job where ((finish-start) between 101 and 200) and team = t) as less200,
(select count(*) from tb_job where ((finish-start) between 201 and 300) and team = t) as less300,
(select count(*) from tb_job where ((finish-start) > 300) and team = t) as more300
from tb_job group by team


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 18:05:56 By : sakuraei
 


 

No. 7



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เอาใหม่ครับ ตกหล่นนิดหน่อย
select team as t,  (select count(*) from tb_job where ((finish-start) between 0 and 100 ) and team = t) as less100, (select count(*) from tb_job where ((finish-start) between 101 and 200) and team = t) as less200,
(select count(*) from tb_job where ((finish-start) between 201 and 300) and team = t) as less300,
(select count(*) from tb_job where ((finish-start) > 300) and team = t) as more300
from tb_job group by team



t less100 less200 less300 more300
A 1 1 0 1
B 0 0 2 1
C 1 0 0 2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 18:09:08 By : sakuraei
 


 

No. 8



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ เดี๋ยวติดขัดอย่างไรจะเข้ามาถามใหม่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 18:45:34 By : giverplus
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามวิธีการเอาตัวเลขของ 2 คอลัมน์มาลบกัน แล้วเอาผลลัพธ์ที่ได้มาจัดกลุ่มครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่