6
में FIELD द्वारा आदेश मैं इसे हल करने के लिए संघर्ष कर रहा हूं। मेरे पास इस तरह की एक टेबल है।MYSQL
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| C | 5 |
| B | 4 |
+-------------+-------+
मैं तालिका से पूछताछ करना चाहता हूं और परिणाम इस तरह होना चाहिए।
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| B | 5 |
| C | 9 |
| D | 0 |
+-------------+-------+
: QUERY
select type , COUNT from TABLE order by FIELD(type,'A','B','C','D') ;
यह ठीक काम करता है, तो स्तंभ type
'ए, बी, सी, डी' के लिए मूल्य है। कुछ मामलों में FIELD('A','B','C','D')
द्वारा क्रम में कुछ कॉलम में तालिका में मूल्य नहीं हो सकता है। इस मामले में मैं इसके लिए 0 रखना चाहता हूं और परिणाम बनाना चाहता हूं।
डी तालिका में नहीं है। तो इसके लिए '0' डालें।
शो बनाने टेबल आउटपुट
CREATE TABLE `Summary` (
`TIMESTAMP` bigint(20) NOT NULL DEFAULT '0',
`type` varchar(50) NOT NULL DEFAULT '',
`COUNT` bigint(19) NOT NULL,
PRIMARY KEY (`TIMESTAMP`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
आप अपनी तालिका के स्कीमा पोस्ट कर सकते हैं? 'टाइप' और' गिनती 'के साथ तालिका सेट परिणाम या मूल तालिका है? –
@ जॉन वू मैंने अपना शो पोस्ट टेबल आउटपुट पोस्ट किया। – kannanrbk
सेट गिनती कॉलम डिफ़ॉल्ट मान के साथ 0 'COUNT' बिगिनट (1 9) के रूप में क्यों न करें, कुल डिफॉल्ट '0' – Sathish