0
CREATE TABLE `shares` (
`id` int(11) NOT NULL auto_increment,
`entry_id` int(11) default NULL,
`service` int(11) default NULL,
`created_date` datetime default NULL,
`ip` varchar(45) default NULL,
PRIMARY KEY (`id`),
KEY `entry_id` (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2570 DEFAULT CHARSET=latin1;
CREATE TABLE `entries` (
`id` int(11) NOT NULL auto_increment,
`first_name` varchar(255) default NULL,
`last_name` varchar(255) default NULL,
`street_address` varchar(255) default NULL,
`city` varchar(255) default NULL,
`postal_code` varchar(255) default NULL,
`province` varchar(255) default NULL,
`daytime_phone` varchar(255) default NULL,
`email_address` varchar(255) default NULL,
`tos` int(11) default NULL,
`subscribe` int(11) default NULL,
`ip` varchar(45) default NULL,
`created_date` datetime default NULL,
`pin` varchar(255) default NULL,
`return` int(11) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`),
KEY `email_address` (`email_address`)
) ENGINE=InnoDB AUTO_INCREMENT=36503 DEFAULT CHARSET=latin1;
,我需要生成兩個表中的10個隨機記錄。
信息:每個共享是一個額外的選票,但人們可以共享使用多種服務(每個服務仍然是一個額外的投票)和共享多次(這仍然是一個額外的選票)。
所以我需要從項隨機10條,考慮到如果一個條目的ID存在,那麼自謂也選擇。
例,
User 1
User 2
User 3
User 4 1 Share
User 5
User 6 1 Share
User 7 2 Shares
User 8
User 9
User 10 3 Shares
它將採取和隨機生成一個記錄,其中
User 1 (1 chance)
User 2 (1 chance)
User 3 (1 chance)
User 4 1 Share (2 chances)
User 5 (1 chance)
User 6 1 Share (2 chance)
User 7 2 Shares (2 chance)
User 8 (1 chance)
User 9 (1 chance)
User 10 3 Shares (2 chance)
我不知道我該怎麼辦呢?任何幫助
相關:http://stackoverflow.com/questions/211329/quick-selection-of-a-random-row-from-a-large-table-in-mysql –