|
Помогите составить запросы!
|
|||
---|---|---|---|
#18+
Всем Привет! Помогите составить запросы! Имеется таблица: ccpatNoraitingofficeapplicantOriginaloperatorAppCountpriorityCountryListOfCountriesapplPattechnologyidpatentinfoAU20023678036IP AustraliaRabinowitz Mario# Davidson MarkUS# USUSAU#US#WOAS2.3#1AU20023645004IP AustraliaCHEN LeonUSUS# WOAU#DE#TW#US#WOAS2.3#S2.6#2AU20032074306IP AustraliaOCEAN POWER CORPORATIONUSUSCA#EP#JP#US#WOAS2.2#3AU76787510IP AustraliaCiba Specialty Chemicals Holding Inc.CHUSAT#AU#BR#CA#CN#CZ#DE#EP#JP#RU#TW#US#WOPSC#4AU75995211IP AustraliaCiba Specialty Chemicals Holding Inc.CHUSAT#AU#BR#CA#CN#CZ#DE#DK#EP#ES#JP#PT#RU#TW#US#WOPSC#5AU200221750011IP AustraliaSphelar Power CorporationJPWOAU#CA#CN#DE#EP#HK#JP#KR#TW#US#WOAS2.3#6AU200225530311IP AustraliaSphelar Power CorporationJP0AU#CA#CN#EP#JP#KR#TW#US#WOAS2.3#7AU75827213IP AustraliaCanon Kabushiki KaishaJPJPAU#CN#DE#EP#JPPS2.3#8AU20032485397IP AustraliaJANVRIN William M# SCHRIPSEMA Jason EUS# USUSAU#DE#EP#ES#US#WOAS2.3#9BR1118465EPODRUCKER ERNEST RCAUS# WOAU#BR#CA#CN#EP#US#WOAS2.5#S3#10BR1090017EPOENECO INCUSUS# WOAU#CA#CN#EP#KR#MX#US#WOASC#11CA24083089CIPOSCHOTT GLASDEDEAT#CN#DE#EP#ES#JP#USASC#12CA24069808CIPOSCHOTT GLASDEDEAT#CN#DE#EP#JP#USAS2.7#13CA245138710CIPOTanaka KunihideUSUSAU#BR#CN#EP#JP#RU#TW#US#WOAS2.3#14CA24198008CIPOSchott AG# SCHOTT GLASDE# DEDEAT#CN#DE#EP#ES#IL#KR#USAS2.3#15CA24585486CIPORAYTHEON COMPANYUSUSAU#CA#CN#EP#JP#RU#US#WOAS2.3#16CA23929209CIPOAMERICAN SIGNAL COMPANYUSUSAU#CA#MX#USASC#17CN14463024SIPO (CN)Suntracker Dome Ltd.USZAAU#BR#CN#EP#JP#US#WO#ZAAS2.6#18CN14610596SIPO (CN)"JX Crystal Co. Ltd."USUSAU#CN#US#WOAS2.3#19CN14418938EPO"SOLAR ENTERPRISES INTERNATIONAL L.L.C"USUSAT#AU#CN#DE#EP#ES#HK#IL#JP#PT#US#WOASC#20CN14209926SIPO (CN)Midwest Research InstituteUSUSAU#EP#US#WOASC#21CN14362825EPODRUCKER ERNEST RCAUSAU#BR#CA#CN#EP#US#WOAS2.5#S3#22CN14455075SIPO (CN)Schott GlasswerkeDEDEAT#CA#CN#DE#EP#ES#IL#KR#USAS2.3#23CN14280206SIPO (CN)"Eneco Inc."USUS# WOAU#BR#CA#CN#EP#KR#MX#US#WOASC#24CN112279113EPOANUTECH PTY LTDAUAUAU#CN#EP#ES#IL#MX#PT#WOPSC#25 Хотелось бы получить такой результат Result: OfficeSummPatentAverageRaitingNonresidentActivityTop10CountriesTehnolShareAUA=6 P=38.7895%EP 4% AU 4% WO 4% AT 2% S2.3 60% S2.6 10% SC 20% S2.2 10%BRA=2 P=0685%EP 6% AU 8% WO 2% AT 1% SC 33% S2.5 33% S3%CAA=6 P=08.3375%EP 10% AU 5% WO 7% AT 9% S2.3 50% S2.7 16% SC 33%CNA=7 P=16.6374%EP 12% AU 8% WO 7% AT 6% S2.3 22% S2.6 11% SC 44% S2.5 11% S3 11% CREATE TABLE "patentInfo" ( "cc" VARCHAR(2), "patNo" VARCHAR(10), "raiting" INT(4) DEFAULT (null) , "office" VARCHAR(10), "applicantOriginal" VARCHAR(255), "operatorApplicantsCountries" CHAR(2), "listOfCountries" VARCHAR(45), "applpat" CHAR(2), "technology" VARCHAR(20), "idpatentinfo" INT(11) PRIMARY KEY ); insert into patentInfo values (AU,2002367803,6,IP Australia,Rabinowitz Mario# Davidson Mark,US# US,US,AU#US#WO,A,S2.3#,1); insert into patentInfo values (AU,2002364500,4,IP Australia,CHEN Leon,US,US# WO,AU#DE#TW#US#WO,A,S2.3#S2.6#,2); insert into patentInfo values (AU,2003207430,6,IP Australia,OCEAN POWER CORPORATION,US,US,CA#EP#JP#US#WO,A,S2.2#,3); insert into patentInfo values (AU,767875,10,IP Australia,Ciba Specialty Chemicals Holding Inc.,CH,US,AT#AU#BR#CA#CN#CZ#DE#EP#JP#RU#TW#US#WO,P,SC#,4); insert into patentInfo values (AU,759952,11,IP Australia,Ciba Specialty Chemicals Holding Inc.,CH,US,AT#AU#BR#CA#CN#CZ#DE#DK#EP#ES#JP#PT#RU#TW#US#WO,P,SC#,5); insert into patentInfo values (AU,2002217500,11,IP Australia,Sphelar Power Corporation,JP,WO,AU#CA#CN#DE#EP#HK#JP#KR#TW#US#WO,A,S2.3#,6); insert into patentInfo values (AU,2002255303,11,IP Australia,Sphelar Power Corporation,JP,0,AU#CA#CN#EP#JP#KR#TW#US#WO,A,S2.3#,7); insert into patentInfo values (AU,758272,13,IP Australia,Canon Kabushiki Kaisha,JP,JP,AU#CN#DE#EP#JP,P,S2.3#,8); insert into patentInfo values (AU,2003248539,7,IP Australia,JANVRIN William M# SCHRIPSEMA Jason E,US# US,US,AU#DE#EP#ES#US#WO,A,S2.3#,9); insert into patentInfo values (BR,111846,5,EPO,DRUCKER ERNEST R,CA,US# WO,AU#BR#CA#CN#EP#US#WO,A,S2.5#S3#,10); insert into patentInfo values (BR,109001,7,EPO,ENECO INC,US,US# WO,AU#CA#CN#EP#KR#MX#US#WO,A,SC#,11); insert into patentInfo values (CA,2408308,9,CIPO,SCHOTT GLAS,DE,DE,AT#CN#DE#EP#ES#JP#US,A,SC#,12); insert into patentInfo values (CA,2406980,8,CIPO,SCHOTT GLAS,DE,DE,AT#CN#DE#EP#JP#US,A,S2.7#,13); insert into patentInfo values (CA,2451387,10,CIPO,Tanaka Kunihide,US,US,AU#BR#CN#EP#JP#RU#TW#US#WO,A,S2.3#,14); insert into patentInfo values (CA,2419800,8,CIPO,Schott AG# SCHOTT GLAS,DE# DE,DE,AT#CN#DE#EP#ES#IL#KR#US,A,S2.3#,15); insert into patentInfo values (CA,2458548,6,CIPO,RAYTHEON COMPANY,US,US,AU#CA#CN#EP#JP#RU#US#WO,A,S2.3#,16); insert into patentInfo values (CA,2392920,9,CIPO,AMERICAN SIGNAL COMPANY,US,US,AU#CA#MX#US,A,SC#,17); insert into patentInfo values (CN,1446302,4,SIPO (CN),Suntracker Dome Ltd.,US,ZA,AU#BR#CN#EP#JP#US#WO#ZA,A,S2.6#,18); insert into patentInfo values (CN,1461059,6,SIPO (CN),"JX Crystal Co., Ltd.",US,US,AU#CN#US#WO,A,S2.3#,19); insert into patentInfo values (CN,1441893,8,EPO,"SOLAR ENTERPRISES INTERNATIONAL, L.L.C",US,US,AT#AU#CN#DE#EP#ES#HK#IL#JP#PT#US#WO,A,SC#,20); insert into patentInfo values (CN,1420992,6,SIPO (CN),Midwest Research Institute,US,US,AU#EP#US#WO,A,SC#,21); insert into patentInfo values (CN,1436282,5,EPO,DRUCKER ERNEST R,CA,US,AU#BR#CA#CN#EP#US#WO,A,S2.5#S3#,22); insert into patentInfo values (CN,1445507,5,SIPO (CN),Schott Glasswerke,DE,DE,AT#CA#CN#DE#EP#ES#IL#KR#US,A,S2.3#,23); insert into patentInfo values (CN,1428020,6,SIPO (CN),"Eneco, Inc.",US,US# WO,AU#BR#CA#CN#EP#KR#MX#US#WO,A,SC#,24); insert into patentInfo values (CN,1122791,13,EPO,ANUTECH PTY LTD,AU,AU,AU#CN#EP#ES#IL#MX#PT#WO,P,SC#,25); Смог написать только такие запросы: SELECT DISTINCT cc FROM patentInfo; Селекты выдают результат как надо, но добавляют в Result новые записи, что не есть хорошо. SELECT applpat, count(*) FROM patentInfo WHERE applpat = "A" GROUP BY cc SELECT applpat, count(*) FROM patentInfo WHERE applpat = "P" GROUP BY cc А Апдейты записывают в строки одинаковые значения: UPDATE Result SET SummPatent = (SELECT count(*) AS "P" FROM patentInfo GROUP BY cc); UPDATE Result SET AverageRaiting = (SELECT ROUND((avg(raiting)), 1) FROM patentInfo GROUP BY cc); В таблице Result должны быть (из записей таблицы patentInfo с одинаковым «сс») : 1) В первой колонке ‑ одно значение «сс» таблицы patentInfo; 2) Во второй колонке ‑ суммарное количество заявок «А»и суммарное количество патентов «Р» из колонки «applPat»таблицы patentInfo; 3) В третьей колонке ‑ средний рейтинг с точностью до одной десятой; 4) В четвёртой колонке ‑доля отличающихся кодов колонки «operatorAppCount». (общее количество это коды колонки «ListOfCountries»); 5) В пятой колонке ‑Топ 10 кодов с указанием доли из общего количества колонки «ListOfCountries»; 6) В шестой колонке ‑ Доля упоминания каждой технологии (S2.3 и т.д.) в общем массиве документов. (общее количество документов = 100% в записях с одинаковым «сс»). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 08:29 |
|
Помогите составить запросы!
|
|||
---|---|---|---|
#18+
1,2,3 : Код: sql 1. 2. 3. 4. 5. 6.
4, 5, 6 - чрезвычайно непросто... Разверни эти поля в отдельные таблицы, тогда их можно будет на sql считать. А то что у тебя сейчас есть, надо писать клиентскую процедуру которая будет строить отдельные массивы и считать по ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 19:10 |
|
|
start [/forum/topic.php?fid=54&msg=39409747&tid=2008525]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 430ms |
0 / 0 |